package znet

import (
	"github.com/spf13/cast"
	"zinxLearn/pkg/zinx/ziface"
)

var _ ziface.IMessage = (*Message)(nil)

type Message struct {
	ID      uint32
	DataLen uint32
	Data    []byte
}

func NewMessage(id uint32, data []byte) *Message {
	return &Message{
		ID:      id,
		DataLen: cast.ToUint32(len(data)),
		Data:    data,
	}
}
func (msg *Message) GetDataLen() uint32 {
	return msg.DataLen
}
func (msg *Message) GetMsgID() uint32 {
	return msg.ID
}
func (msg *Message) GetData() []byte {
	return msg.Data
}
func (msg *Message) SetMsgID(msgId uint32) {
	msg.ID = msgId
}
func (msg *Message) SetData(data []byte) {
	msg.Data = data
}
func (msg *Message) SetDataLen(len uint32) {
	msg.DataLen = len
}
